package com.sinosoft.builder.utils;

import org.apache.velocity.VelocityContext;

/**
 * 信息模型数据库表的类型
 * 
 * @author 潘巍（PeterPan）
 * @since 2011-5-18 下午05:02:17
 * 
 */
public enum BusinessConceptTableType {

	// 领域概念表
	DOMAIN("BusinessConceptDomainEntity", "bc_dm", "bc_domain_entity.vm"),

	// 领域状态日志表
	DOMAIN_STATUS_LOG("BusinessConceptDomainStatusLogEntity", "bc_dm_stat_log",
			"bc_domain_status_log_entity.vm"),

	// 领域内容表
	DOMAIN_CONTENT("BusinessConceptDomainContentEntity", "bc_dm_cont",
			"bc_domain_content_entity.vm"),

	// 领域内容表（非索引）
	DOMAIN_CONTENT_NO_INDEX("BusinessConceptDomainContentNoIndexEntity",
			"bc_dm_cont_no_idx", "bc_domain_content_no_index_entity.vm"),

	// 领域间关系表
	DOMAIN_ASSOCIATION("BusinessConceptDomainAssociationEntity", "bc_dm_asso",
			"bc_domain_association_entity.vm"),

	// 领域锁定表
	DOMAIN_LOCK("BusinessConceptDomainLockEntity", "bc_dm_lock",
			"bc_domain_lock_entity.vm"),

	// 领域序号创建表
	DOMAIN_SEQUENCE("BusinessConceptDomainSequenceCreatorEntity", "bc_dm_seq",
			"bc_domain_sequence_creator_entity.vm");

	BusinessConceptTableType(String entityName, String tableName,
			String templateName) {
		this.entityName = entityName;
		this.tableName = tableName;
		this.templateName = templateName;
	}

	/**
	 * 实体名称
	 */
	private String entityName;

	/**
	 * 库表名称
	 */
	private String tableName;

	/**
	 * 模板名称
	 */
	private String templateName;

	public String getEntityName() {
		return entityName;
	}

	public String getTableName() {
		return tableName;
	}

	public String getTemplateName() {
		return templateName;
	}

	/**
	 * 默认加载上下文
	 * 
	 * @param context
	 */
	public void loadContext(VelocityContext context) {

	}

}
